package com.arsn.myf.common.annotation;

import java.lang.annotation.*;

/**
 * 自定义操作日志记录注解
 * RetentionPolicy.SOURCE：注解只保留在源文件，当Java文件编译成class文件的时候，注解被遗弃（运行时去动态获取注解信息）；
 * RetentionPolicy.CLASS：注解被保留到class文件，但jvm加载class文件时候被遗弃，这是默认的生命周期（在编译时进行一些预处理操作）；
 * RetentionPolicy.RUNTIME：注解不仅被保存到class文件中，jvm加载class文件之后，仍然存在（做一些检查性的操作）；
 * 这3个生命周期分别对应于：Java源文件(.java文件) —> .class文件 —> 内存中的字节码
 * @author zhognrj
 * @since 2022-08-09
 */
@Target({ ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ApiLog {
    /**
     * 模块 
     */
    String value() default "";
}
